package com.egao.common.module.company.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.egao.common.core.web.JsonResult;
import com.egao.common.core.web.PageParam;
import com.egao.common.module.company.entity.PreachCloud;
import com.egao.common.module.company.entity.vo.PreachCloudFormVO;
import com.egao.common.module.company.entity.vo.PreachCloudListVO;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * 空中宣讲会(PreachCloud)表服务接口
 *
 * @author dl
 * @since 2021-03-01 10:28:55
 */
public interface PreachCloudService extends IService<PreachCloud> {
    /**
     * 宣讲会列表查询
     * @param pageParam 分页对象
     * @return PositionListVO 宣讲会列表VO
     */
    List<PreachCloudListVO> listPage(PageParam<PreachCloudListVO> pageParam);
    /**
     * 添加空中宣讲会信息
     * @param preachCloudFormVO 宣讲会表单
     * @return JsonResult 结果对象
     */
    JsonResult savePreachCloud(PreachCloudFormVO preachCloudFormVO);
    /**
     * 审核空中宣讲会信息
     * @param preachCloudFormVO 宣讲会表单
     * @return JsonResult 结果对象
     */
    JsonResult checkPreachCloud(PreachCloudFormVO preachCloudFormVO);
    /**
     * 删除空中宣讲会信息
     * @param preachCloudFormVO 宣讲会表单
     * @return JsonResult 结果对象
     */
    JsonResult removePreachCloud(PreachCloudFormVO preachCloudFormVO);
    /**
     * 查询空中宣讲会信息
     * @param id 空中宣讲会编号
     * @return JsonResult 结果对象
     */
    JsonResult detail(Integer id);
    /**
     * 修改空中宣讲会信息
     * @param preachCloudFormVO 宣讲会表单
     * @return JsonResult 结果对象
     */
    JsonResult updatePreachCloud(PreachCloudFormVO preachCloudFormVO);
    /**
     * 取消空中宣讲会信息
     * @param preachCloudFormVO 宣讲会表单
     * @return JsonResult 结果对象
     */
    JsonResult cancelPreachCloud(PreachCloudFormVO preachCloudFormVO);
    /**
     * 空中宣讲会统计
     * @param pageParam 宣讲会表单
     * @return JsonResult 结果对象
     */
    JsonResult countPreachCloud(PageParam<PreachCloudListVO> pageParam);

    /**
     * 导出excel
     * @param page 请求参数（不含分页参数）
     * @param response response 响应下载excel
     */
    void exportExcel(Map<String, Object> page, HttpServletResponse response);
}
